Skip to main content

Azure Queue Storage

Known Issues

Messages Going to Poison Queue

If you're programmatically inserting messages into an Azure Queue and they're going into a "poison" queue instead of the correct queue, then you might need to explicitly encode the message to Base 64 before sending it.

This is a common issue faced by users who are used to behavior in v11 of the nuget package after moving to v12 of the package.

The resolution was found on Stack Overflow: Messages in Azure Message Queue are going Straight to the Poison Message Queue

Here's a code snippet from GQC's resolution:

    public QueueUtility(string connectionString, string queueName, ILogger? logger = null)
{
// Use Base64 encoding to match the old CloudQueue behavior
var queueOptions = new QueueClientOptions { MessageEncoding = QueueMessageEncoding.Base64 };
_queueClient = new QueueClient(connectionString, queueName, queueOptions);
_logger = logger;

_logger?.LogInformation("QueueUtility initialized with queue name: {QueueName}, Connection string length: {Length}, Encoding: Base64",
queueName, connectionString?.Length ?? 0);
}

You can find GQC's full implementation in swmm5_core/GqcStorage1/QueueUtility.cs